
package org.zfes.snowier.cloud.zbss.pmp.service;

import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.zfes.snowier.core.data.DataSet;
import org.zfes.snowier.cloud.zbss.pmp.dto.PmpBugsAssignDto;
import org.zfes.snowier.cloud.zbss.pmp.dto.PmpBugsCreateDto;
import org.zfes.snowier.cloud.zbss.pmp.dto.PmpBugsPmUpdateDto;
import org.zfes.snowier.cloud.zbss.pmp.dto.PmpBugsSubmitDto;
import org.zfes.snowier.cloud.zbss.pmp.dto.PmpBugsTesterUpdateDto;
import org.zfes.snowier.cloud.zbss.pmp.model.PmpBugs;
public interface IPmpBugsService{

	 Optional<PmpBugs> loadPmpBugsById(Long id);
	
	 void createPmpBugs(Long createUserId,PmpBugsCreateDto bugsCreateDto);
	 
	 void assignPmpBugs(PmpBugsAssignDto assignDto);
	
	 void submitBugs(Long userId,PmpBugsSubmitDto bugsSubmitDto);
	 

	void testerCheckBugs(List<Long> ids, Byte accept);

	void pmCheckBugs(List<Long> ids, Byte accept);
		
	void setPmpBugsStatusByPm(Long id, Byte status);
	 
	void setPmpBugsStatus(Long id, Byte status);

	void bactchSetPmpBugsStatus(List<Long> ids, Byte status);
	

	int updateAssignHours(Long id,Integer assignHours);
	
	int updateExpiryTime(Long id, Date expiryTime);
	
	int updateExpired(Long id, Byte expired);
	
	int updatePriority(Long id,Byte priority);

	//严重程度
	int updateSeverity(Long id, Byte severity);
	
	int updateFrequency(Long id,Byte frequency);
	
	
	 //=====================================================================
	
	 void updatePmpBugsForTester(PmpBugsTesterUpdateDto updateDto );
	 
	void updatePmpBugsForPm(PmpBugsPmUpdateDto updateDto );
	  
	
	 DataSet loadPmpBugsDataSet(Map<String, Object> params);



}